docs: add a security policy - #987
Open
ryanio wants to merge 1 commit into
Open
Conversation
This repo gives a researcher with a finding no signposted private channel, so reports land as public issues. SECURITY.md points at OpenSea's Bugcrowd program and the README links to it. The file links the Bugcrowd brief as the authority on scope rather than restating it, and notes that this library moves assets: it decides what a user is asked to sign and what a transaction does. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ryanio
force-pushed
the
security-policy
branch
from
August 22, 2026 20:40
fd28688 to
70a1690
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
This repository has no
SECURITY.md, and neither does any other public ProjectOpenSea repo. A researcher who finds something here has nothing in the repo to follow, so the report lands as a public issue. That already happened in a sibling repo: ProjectOpenSea/tool-sdk#14 opens by saying it was filed publicly because private vulnerability reporting is off and there is noSECURITY.md. That reporter also reasoned about the Bugcrowd brief and its exclusions, so the program is not the missing piece. The signposting is.This matters more here than in most of the org's repos, because seaport-js moves assets. It builds order structs, produces the EIP-712 payload a wallet signs, runs the balance and approval checks, and assembles the fulfillment calldata. A bug in any of that decides what a user is asked to sign and what their transaction does.
Solution
SECURITY.mdat the repo root, plus a Security section in the README and a matching table-of-contents entry. Both point to OpenSea's Bugcrowd program at https://bugcrowd.com/engagements/opensea.The file links the Bugcrowd brief as the authority on scope, exclusions, severity, and rewards rather than restating any of it, so this copy cannot drift out of step with the program. What it does carry:
Response and disclosure timelines are left to the program rather than promised here.
Manual follow-up for a human
Verification
Documentation only, no source changed. Biome here is configured for
**/*.ts,**/*.js, and**/*.json, so markdown is outside format and lint.Run in a fresh worktree, exit codes captured rather than eyeballed:
npm ci --ignore-scriptsnpm run buildnpm run check-typesnpm run format:checknpx biome check .npm run lint